f0bb620d114736ef945507febf25670f000fd69f,src/main/java/net/spy/memcached/MemcachedConnection.java,MemcachedConnection,addOperation,#String#Operation#,722

Before Change


	 */
	public void addOperation(final String key, final Operation o) {
		MemcachedNode placeIn=null;
		MemcachedNode primary = locator.getPrimary(key);
		if(primary.isActive() || failureMode == FailureMode.Retry) {
			placeIn=primary;
		} else if(failureMode == FailureMode.Cancel) {
			o.setHandlingNode(primary);
			o.cancel();
		} else {
			// Look for another node in sequence that is ready.
			for(Iterator<MemcachedNode> i=locator.getSequence(key);
				placeIn == null && i.hasNext(); ) {
				MemcachedNode n=i.next();
				if(n.isActive()) {

After Change


		/* WHCHOI83_MEMCACHED_REPLICA_GROUP start */
		/* ENABLE_REPLICATION start */
		MemcachedNode primary = null;
		if (this.arcusReplEnabled) {
			primary = ((ArcusReplKetamaNodeLocator)locator).getPrimary(key, getReplicaPick(o));
		} else
			primary = locator.getPrimary(key);
		/* ENABLE_REPLICATION else */
		/* WHCHOI83_MEMCACHED_REPLICA_GROUP else */
		/*
		MemcachedNode primary = locator.getPrimary(key);
		/*
		/* ENABLE_REPLICATION end */
		/* WHCHOI83_MEMCACHED_REPLICA_GROUP end */
		if(primary.isActive() || failureMode == FailureMode.Retry) {
			placeIn=primary;
		} else if(failureMode == FailureMode.Cancel) {
			o.setHandlingNode(primary);
			o.cancel();
		} else {
			// Look for another node in sequence that is ready.
			/* WHCHOI83_MEMCACHED_REPLICA_GROUP start */
			/* ENABLE_REPLICATION start */
			Iterator<MemcachedNode> iter = this.arcusReplEnabled 
					? ((ArcusReplKetamaNodeLocator)locator).getSequence(key, getReplicaPick(o))
					: locator.getSequence(key);
			for( ; placeIn == null && iter.hasNext(); ) {
				MemcachedNode n=iter.next();
				if(n.isActive()) {